<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Flow-IPC: ipc::session::shm::classic::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Flow-IPC<span id="projectnumber">&#160;2.0.0</span>
   </div>
   <div id="projectbrief">Flow-IPC project: Full implementation reference.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceipc.html">ipc</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session.html">session</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm.html">shm</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm_1_1classic.html">classic</a></li><li class="navelem"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">Server_session_impl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">ipc::session::shm::classic::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Core internally-used implementation of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session.html" title="Identical to session::Server_session in every way, except that it makes available two SHM arenas,...">shm::classic::Server_session</a>: it is to the latter what its <code>public</code> super-class <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">Server_session_impl</a> is to <a class="el" href="namespaceipc_1_1session.html#ab01d5bce0ab2f3435ca9dd88d27609dc" title="A vanilla Server_session with no optional capabilities.">Server_session</a>.  
 <a href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html">server_session_impl.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ipc::session::shm::classic::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl__inherit__graph.svg" width="1198" height="135"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ipc::session::shm::classic::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl__coll__graph.svg" width="1935" height="1464"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7eb8811c0dfc0f25f2b5cb5acd0ff90d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a7eb8811c0dfc0f25f2b5cb5acd0ff90d">Base</a> = <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">session::Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, <a class="el" href="classipc_1_1transport_1_1struc_1_1shm_1_1Builder__base.html#a2dae5df49d355c6f2199af42fff9befd">transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ</a> &gt; &gt;</td></tr>
<tr class="memdesc:a7eb8811c0dfc0f25f2b5cb5acd0ff90d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for our non-<code>virtual</code> base.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a7eb8811c0dfc0f25f2b5cb5acd0ff90d">More...</a><br /></td></tr>
<tr class="separator:a7eb8811c0dfc0f25f2b5cb5acd0ff90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl&lt; session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt; &gt;</a></td></tr>
<tr class="memitem:ad0100f8bf97fe2d5dca929c1fe21fdaf inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad0100f8bf97fe2d5dca929c1fe21fdaf">Base</a> = <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">session::Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</td></tr>
<tr class="memdesc:ad0100f8bf97fe2d5dca929c1fe21fdaf inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for base class.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad0100f8bf97fe2d5dca929c1fe21fdaf">More...</a><br /></td></tr>
<tr class="separator:ad0100f8bf97fe2d5dca929c1fe21fdaf inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e80ccff3cef5028eb8d257104e7e6a inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac5e80ccff3cef5028eb8d257104e7e6a">Session_base_obj</a> = typename Base::Session_base_obj</td></tr>
<tr class="memdesc:ac5e80ccff3cef5028eb8d257104e7e6a inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for Session_base super-class.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac5e80ccff3cef5028eb8d257104e7e6a">More...</a><br /></td></tr>
<tr class="separator:ac5e80ccff3cef5028eb8d257104e7e6a inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88d76b7b2a0c78490b74dee6f8a510c inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> = <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html">ipc::shm::classic::Pool_arena</a></td></tr>
<tr class="memdesc:ad88d76b7b2a0c78490b74dee6f8a510c inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">More...</a><br /></td></tr>
<tr class="separator:ad88d76b7b2a0c78490b74dee6f8a510c inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fbc1569ee2b1962dd512ce6f4a01236 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">Structured_msg_builder_config</a> = typename transport::struc::shm::classic::Builder::Config</td></tr>
<tr class="memdesc:a6fbc1569ee2b1962dd512ce6f4a01236 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">More...</a><br /></td></tr>
<tr class="separator:a6fbc1569ee2b1962dd512ce6f4a01236 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a931f27521e1469cbbcbb3e2b79043f41 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">Structured_msg_reader_config</a> = typename transport::struc::shm::classic::Reader::Config</td></tr>
<tr class="memdesc:a931f27521e1469cbbcbb3e2b79043f41 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">More...</a><br /></td></tr>
<tr class="separator:a931f27521e1469cbbcbb3e2b79043f41 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac989bb6d43a92b848e4da8d6730f91d8 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac989bb6d43a92b848e4da8d6730f91d8">Structured_channel</a> = <a class="el" href="namespaceipc_1_1transport_1_1struc_1_1shm_1_1classic.html#ac543b500a85f556564e592cbbefb6185">transport::struc::shm::classic::Channel</a>&lt; typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Base::Channel_obj</a>, Message_body &gt;</td></tr>
<tr class="memdesc:ac989bb6d43a92b848e4da8d6730f91d8 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac989bb6d43a92b848e4da8d6730f91d8">More...</a><br /></td></tr>
<tr class="separator:ac989bb6d43a92b848e4da8d6730f91d8 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ee88920a4690fcf91ee59b9faad6323 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a> = <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html#a72867ce6e363dbc1ab1666768d8a7a09">Arena::Blob</a></td></tr>
<tr class="memdesc:a0ee88920a4690fcf91ee59b9faad6323 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for a light-weight blob used in <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c" title="See shm::classic::Session_mv counterpart.">borrow_object()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108" title="See shm::classic::Session_mv counterpart.">lend_object()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">More...</a><br /></td></tr>
<tr class="separator:a0ee88920a4690fcf91ee59b9faad6323 inherit pub_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classipc_1_1session_1_1Server__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classipc_1_1session_1_1Server__session__impl')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">ipc::session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</a></td></tr>
<tr class="memitem:a80daf8c8041d8d510f4712156732b09d inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a80daf8c8041d8d510f4712156732b09d">Base</a> = <a class="el" href="classipc_1_1session_1_1Session__base.html">Session_base</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</td></tr>
<tr class="memdesc:a80daf8c8041d8d510f4712156732b09d inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for base type.  <a href="classipc_1_1session_1_1Server__session__impl.html#a80daf8c8041d8d510f4712156732b09d">More...</a><br /></td></tr>
<tr class="separator:a80daf8c8041d8d510f4712156732b09d inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3797b21c6b9c430471e3d9835acb2979 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a3797b21c6b9c430471e3d9835acb2979">Session_base_obj</a> = <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a80daf8c8041d8d510f4712156732b09d">Base</a></td></tr>
<tr class="memdesc:a3797b21c6b9c430471e3d9835acb2979 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for Session_base super-class.  <a href="classipc_1_1session_1_1Server__session__impl.html#a3797b21c6b9c430471e3d9835acb2979">More...</a><br /></td></tr>
<tr class="separator:a3797b21c6b9c430471e3d9835acb2979 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c969c3a1007f8e4ba3ad1c1acd6c290 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a7c969c3a1007f8e4ba3ad1c1acd6c290">Channel_obj</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Base::Channel_obj</a></td></tr>
<tr class="memdesc:a7c969c3a1007f8e4ba3ad1c1acd6c290 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a7c969c3a1007f8e4ba3ad1c1acd6c290">More...</a><br /></td></tr>
<tr class="separator:a7c969c3a1007f8e4ba3ad1c1acd6c290 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75df7061f9c57660f9fb944d83da416b inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a75df7061f9c57660f9fb944d83da416b">Channels</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Channels</a></td></tr>
<tr class="memdesc:a75df7061f9c57660f9fb944d83da416b inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a75df7061f9c57660f9fb944d83da416b">More...</a><br /></td></tr>
<tr class="separator:a75df7061f9c57660f9fb944d83da416b inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9cd0c1e6792a4ee096b55b13b4db803 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#aa9cd0c1e6792a4ee096b55b13b4db803">Mdt_payload_obj</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Base::Mdt_payload_obj</a></td></tr>
<tr class="memdesc:aa9cd0c1e6792a4ee096b55b13b4db803 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#aa9cd0c1e6792a4ee096b55b13b4db803">More...</a><br /></td></tr>
<tr class="separator:aa9cd0c1e6792a4ee096b55b13b4db803 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e61f8681c7ec92fa19bae560763ab1 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a78e61f8681c7ec92fa19bae560763ab1">Mdt_reader_ptr</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Mdt_reader_ptr</a></td></tr>
<tr class="memdesc:a78e61f8681c7ec92fa19bae560763ab1 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a78e61f8681c7ec92fa19bae560763ab1">More...</a><br /></td></tr>
<tr class="separator:a78e61f8681c7ec92fa19bae560763ab1 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7134fc9c4d26ba1fbc8e5da266d970e5 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a7134fc9c4d26ba1fbc8e5da266d970e5">Mdt_builder</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">Base::Mdt_builder</a></td></tr>
<tr class="memdesc:a7134fc9c4d26ba1fbc8e5da266d970e5 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a7134fc9c4d26ba1fbc8e5da266d970e5">More...</a><br /></td></tr>
<tr class="separator:a7134fc9c4d26ba1fbc8e5da266d970e5 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4bc7e38574e0495af4887d2e6226b7a inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#ac4bc7e38574e0495af4887d2e6226b7a">Mdt_builder_ptr</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Base::Mdt_builder_ptr</a></td></tr>
<tr class="memdesc:ac4bc7e38574e0495af4887d2e6226b7a inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#ac4bc7e38574e0495af4887d2e6226b7a">More...</a><br /></td></tr>
<tr class="separator:ac4bc7e38574e0495af4887d2e6226b7a inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abff6feea533de655f0cd8017d6ea3293 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#abff6feea533de655f0cd8017d6ea3293">Structured_msg_builder_config</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Base::Structured_msg_builder_config</a></td></tr>
<tr class="memdesc:abff6feea533de655f0cd8017d6ea3293 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#abff6feea533de655f0cd8017d6ea3293">More...</a><br /></td></tr>
<tr class="separator:abff6feea533de655f0cd8017d6ea3293 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8612a76df11f9db0d4f335848cda822 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#ab8612a76df11f9db0d4f335848cda822">Structured_msg_reader_config</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Base::Structured_msg_reader_config</a></td></tr>
<tr class="memdesc:ab8612a76df11f9db0d4f335848cda822 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#ab8612a76df11f9db0d4f335848cda822">More...</a><br /></td></tr>
<tr class="separator:ab8612a76df11f9db0d4f335848cda822 inherit pub_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a848c0f5247644ada0f8b0ab816eedda8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">Persistent_mq_handle_from_cfg</a> = std::conditional_t&lt;!<a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a>, <a class="el" href="classipc_1_1transport_1_1Null__peer.html">transport::Null_peer</a>, std::conditional_t&lt; S_MQ_TYPE_OR_NONE==schema::MqType::POSIX, <a class="el" href="classipc_1_1transport_1_1Posix__mq__handle.html">transport::Posix_mq_handle</a>, <a class="el" href="classipc_1_1transport_1_1Bipc__mq__handle.html">transport::Bipc_mq_handle</a> &gt; &gt;</td></tr>
<tr class="memdesc:a848c0f5247644ada0f8b0ab816eedda8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relevant only if <a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74" title="See Session_mv.">S_MQS_ENABLED</a>, this is the Persistent_mq_handle-concept impl type specified by the user via <code>S_MQ_TYPE_OR_NONE</code>.  <a href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">More...</a><br /></td></tr>
<tr class="separator:a848c0f5247644ada0f8b0ab816eedda8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f02a809d667c23ff8af29a96940bd1 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> = std::conditional_t&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a>, std::conditional_t&lt; S_TRANSMIT_NATIVE_HANDLES, <a class="el" href="classipc_1_1transport_1_1Mqs__socket__stream__channel.html">transport::Mqs_socket_stream_channel</a>&lt; true, <a class="el" href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">Persistent_mq_handle_from_cfg</a> &gt;, <a class="el" href="classipc_1_1transport_1_1Mqs__channel.html">transport::Mqs_channel</a>&lt; true, <a class="el" href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">Persistent_mq_handle_from_cfg</a> &gt; &gt;, std::conditional_t&lt; S_TRANSMIT_NATIVE_HANDLES, <a class="el" href="classipc_1_1transport_1_1Socket__stream__channel.html">transport::Socket_stream_channel</a>&lt; true &gt;, <a class="el" href="classipc_1_1transport_1_1Socket__stream__channel__of__blobs.html">transport::Socket_stream_channel_of_blobs</a>&lt; true &gt; &gt; &gt;</td></tr>
<tr class="memdesc:a71f02a809d667c23ff8af29a96940bd1 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">More...</a><br /></td></tr>
<tr class="separator:a71f02a809d667c23ff8af29a96940bd1 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a638232ef74a0eb80aeb4f027ee06f9bf inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> = std::vector&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> &gt;</td></tr>
<tr class="memdesc:a638232ef74a0eb80aeb4f027ee06f9bf inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a>. Note: If changed from <code>vector</code> please update those doc headers too.  <a href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">More...</a><br /></td></tr>
<tr class="separator:a638232ef74a0eb80aeb4f027ee06f9bf inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35234981ca87cc2f6b118b3e52452ea8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> = Mdt_payload</td></tr>
<tr class="memdesc:a35234981ca87cc2f6b118b3e52452ea8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">More...</a><br /></td></tr>
<tr class="separator:a35234981ca87cc2f6b118b3e52452ea8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace4dab42adec6354cc66081dd218ac71 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> = boost::shared_ptr&lt; typename transport::struc::schema::Metadata&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> &gt;::Reader &gt;</td></tr>
<tr class="memdesc:ace4dab42adec6354cc66081dd218ac71 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">More...</a><br /></td></tr>
<tr class="separator:ace4dab42adec6354cc66081dd218ac71 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d68bbb8c0c09983619d563bca30bd45 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">Mdt_builder</a> = typename transport::struc::schema::Metadata&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> &gt;<a class="el" href="classStruct__builder__config_1_1Builder.html">::Builder</a></td></tr>
<tr class="memdesc:a7d68bbb8c0c09983619d563bca30bd45 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">More...</a><br /></td></tr>
<tr class="separator:a7d68bbb8c0c09983619d563bca30bd45 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7a5b83f6ba8bd505685636eabc012b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a> = boost::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">Mdt_builder</a> &gt;</td></tr>
<tr class="memdesc:a4a7a5b83f6ba8bd505685636eabc012b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">More...</a><br /></td></tr>
<tr class="separator:a4a7a5b83f6ba8bd505685636eabc012b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee0db48505c84d3553b7110a9a815036 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a> = <a class="el" href="structipc_1_1transport_1_1struc_1_1Heap__fixed__builder_1_1Config.html">transport::struc::Heap_fixed_builder::Config</a></td></tr>
<tr class="memdesc:aee0db48505c84d3553b7110a9a815036 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">More...</a><br /></td></tr>
<tr class="separator:aee0db48505c84d3553b7110a9a815036 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd854f2b9316361ef18f15610c242d4b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a> = <a class="el" href="structipc_1_1transport_1_1struc_1_1Heap__reader_1_1Config.html">transport::struc::Heap_reader::Config</a></td></tr>
<tr class="memdesc:abd854f2b9316361ef18f15610c242d4b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">More...</a><br /></td></tr>
<tr class="separator:abd854f2b9316361ef18f15610c242d4b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3c210b4b0acb3edebfa3fd735f02a854"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a3c210b4b0acb3edebfa3fd735f02a854">~Server_session_impl</a> ()</td></tr>
<tr class="memdesc:a3c210b4b0acb3edebfa3fd735f02a854"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept counterpart; but read on for notes on per-session SHM-pool cleanup.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a3c210b4b0acb3edebfa3fd735f02a854">More...</a><br /></td></tr>
<tr class="separator:a3c210b4b0acb3edebfa3fd735f02a854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c78b2c35b853e1702a06ec451545945"><td class="memTemplParams" colspan="2">template&lt;typename Session_server_impl_t , typename Task_err , typename Cli_app_lookup_func , typename Cli_namespace_func , typename Pre_rsp_setup_func , typename N_init_channels_by_srv_req_func , typename Mdt_load_func &gt; </td></tr>
<tr class="memitem:a9c78b2c35b853e1702a06ec451545945"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a9c78b2c35b853e1702a06ec451545945">async_accept_log_in</a> (Session_server_impl_t *srv, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Channels</a> *init_channels_by_srv_req, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Base::Mdt_reader_ptr</a> *mdt_from_cli_or_null, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Channels</a> *init_channels_by_cli_req, Cli_app_lookup_func &amp;&amp;cli_app_lookup_func, Cli_namespace_func &amp;&amp;cli_namespace_func, Pre_rsp_setup_func &amp;&amp;pre_rsp_setup_func, N_init_channels_by_srv_req_func &amp;&amp;n_init_channels_by_srv_req_func, Mdt_load_func &amp;&amp;mdt_load_func, Task_err &amp;&amp;on_done_func)</td></tr>
<tr class="memdesc:a9c78b2c35b853e1702a06ec451545945"><td class="mdescLeft">&#160;</td><td class="mdescRight">For use by internal user <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__server.html" title="This is to vanilla Session_server what shm::classic::Server_session is to vanilla Server_session: it ...">Session_server</a>: See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a9c78b2c35b853e1702a06ec451545945">More...</a><br /></td></tr>
<tr class="separator:a9c78b2c35b853e1702a06ec451545945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl&lt; session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt; &gt;</a></td></tr>
<tr class="memitem:a0bb9a7c360c4c55af64bfd84f1b365da inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da">session_shm</a> ()</td></tr>
<tr class="memdesc:a0bb9a7c360c4c55af64bfd84f1b365da inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da">More...</a><br /></td></tr>
<tr class="separator:a0bb9a7c360c4c55af64bfd84f1b365da inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7c4c7d786124d3d147cbbe40844d817 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817">app_shm</a> ()</td></tr>
<tr class="memdesc:aa7c4c7d786124d3d147cbbe40844d817 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817">More...</a><br /></td></tr>
<tr class="separator:aa7c4c7d786124d3d147cbbe40844d817 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fec4d70c742570ea8699cdc13b29108 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108">lend_object</a> (const typename Arena::template Handle&lt; T &gt; &amp;handle)</td></tr>
<tr class="memdesc:a3fec4d70c742570ea8699cdc13b29108 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108">More...</a><br /></td></tr>
<tr class="separator:a3fec4d70c742570ea8699cdc13b29108 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d970e1fd44cf7932d4160e26a45fa6c inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">Arena::template Handle&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c">borrow_object</a> (const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a> &amp;serialization)</td></tr>
<tr class="memdesc:a9d970e1fd44cf7932d4160e26a45fa6c inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c">More...</a><br /></td></tr>
<tr class="separator:a9d970e1fd44cf7932d4160e26a45fa6c inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71db443eea0ebb1ce52e65866f139a32 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a71db443eea0ebb1ce52e65866f139a32">session_shm_builder_config</a> ()</td></tr>
<tr class="memdesc:a71db443eea0ebb1ce52e65866f139a32 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a71db443eea0ebb1ce52e65866f139a32">More...</a><br /></td></tr>
<tr class="separator:a71db443eea0ebb1ce52e65866f139a32 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3edd578b984fbeeebafe4881a7f8126c inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">Structured_msg_builder_config::Builder::Session&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3edd578b984fbeeebafe4881a7f8126c">session_shm_lender_session</a> ()</td></tr>
<tr class="memdesc:a3edd578b984fbeeebafe4881a7f8126c inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3edd578b984fbeeebafe4881a7f8126c">More...</a><br /></td></tr>
<tr class="separator:a3edd578b984fbeeebafe4881a7f8126c inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac74cff4dd441749ab4d93a7db99296d9 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac74cff4dd441749ab4d93a7db99296d9">session_shm_reader_config</a> ()</td></tr>
<tr class="memdesc:ac74cff4dd441749ab4d93a7db99296d9 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac74cff4dd441749ab4d93a7db99296d9">More...</a><br /></td></tr>
<tr class="separator:ac74cff4dd441749ab4d93a7db99296d9 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2977ea01c8fb259f0fe59a679c919669 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a2977ea01c8fb259f0fe59a679c919669">app_shm_builder_config</a> ()</td></tr>
<tr class="memdesc:a2977ea01c8fb259f0fe59a679c919669 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a2977ea01c8fb259f0fe59a679c919669">More...</a><br /></td></tr>
<tr class="separator:a2977ea01c8fb259f0fe59a679c919669 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a519342c3d278daf40603cf13c56036e7 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">Structured_msg_builder_config::Builder::Session&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a519342c3d278daf40603cf13c56036e7">app_shm_lender_session</a> ()</td></tr>
<tr class="memdesc:a519342c3d278daf40603cf13c56036e7 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a519342c3d278daf40603cf13c56036e7">More...</a><br /></td></tr>
<tr class="separator:a519342c3d278daf40603cf13c56036e7 inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a282bd304d53a2fbd1d7f2968dc03943b inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a282bd304d53a2fbd1d7f2968dc03943b">app_shm_reader_config</a> ()</td></tr>
<tr class="memdesc:a282bd304d53a2fbd1d7f2968dc03943b inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::classic::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a282bd304d53a2fbd1d7f2968dc03943b">More...</a><br /></td></tr>
<tr class="separator:a282bd304d53a2fbd1d7f2968dc03943b inherit pub_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classipc_1_1session_1_1Server__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classipc_1_1session_1_1Server__session__impl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">ipc::session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</a></td></tr>
<tr class="memitem:a424215b95b49fea0b3b3986688395158 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a424215b95b49fea0b3b3986688395158">Server_session_impl</a> (flow::log::Logger *logger_ptr, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, <a class="el" href="classipc_1_1transport_1_1sync__io_1_1Native__socket__stream.html">transport::sync_io::Native_socket_stream</a> &amp;&amp;master_channel_sock_stm)</td></tr>
<tr class="memdesc:a424215b95b49fea0b3b3986688395158 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">For use by internal user Session_server: See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a424215b95b49fea0b3b3986688395158">More...</a><br /></td></tr>
<tr class="separator:a424215b95b49fea0b3b3986688395158 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a145389df1784d5242adf69e2cc9826cd inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a145389df1784d5242adf69e2cc9826cd">~Server_session_impl</a> ()</td></tr>
<tr class="memdesc:a145389df1784d5242adf69e2cc9826cd inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a145389df1784d5242adf69e2cc9826cd">More...</a><br /></td></tr>
<tr class="separator:a145389df1784d5242adf69e2cc9826cd inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee35d521d9997d48f6b5565730e60e93 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#aee35d521d9997d48f6b5565730e60e93">async_accept_log_in</a> (Session_server_impl_t *srv, <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> *init_channels_by_srv_req, <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> *mdt_from_cli_or_null, <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> *init_channels_by_cli_req, Cli_app_lookup_func &amp;&amp;cli_app_lookup_func, Cli_namespace_func &amp;&amp;cli_namespace_func, Pre_rsp_setup_func &amp;&amp;pre_rsp_setup_func, N_init_channels_by_srv_req_func &amp;&amp;n_init_channels_by_srv_req_func, Mdt_load_func &amp;&amp;mdt_load_func, Task_err &amp;&amp;on_done_func)</td></tr>
<tr class="memdesc:aee35d521d9997d48f6b5565730e60e93 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">For use by internal user Session_server: See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#aee35d521d9997d48f6b5565730e60e93">More...</a><br /></td></tr>
<tr class="separator:aee35d521d9997d48f6b5565730e60e93 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3deaeacf53a8fc63ed010394ef82c54c inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a3deaeacf53a8fc63ed010394ef82c54c">client_app</a> () const</td></tr>
<tr class="memdesc:a3deaeacf53a8fc63ed010394ef82c54c inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a3deaeacf53a8fc63ed010394ef82c54c">More...</a><br /></td></tr>
<tr class="separator:a3deaeacf53a8fc63ed010394ef82c54c inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac93040ccdaf5a261a053a8b55bd2e14e inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#ac93040ccdaf5a261a053a8b55bd2e14e">init_handlers</a> (Task_err &amp;&amp;on_err_func_arg, On_passive_open_channel_handler &amp;&amp;on_passive_open_channel_func_arg)</td></tr>
<tr class="memdesc:ac93040ccdaf5a261a053a8b55bd2e14e inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#ac93040ccdaf5a261a053a8b55bd2e14e">More...</a><br /></td></tr>
<tr class="separator:ac93040ccdaf5a261a053a8b55bd2e14e inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a493937b9737f1fc4803364c35ceae83e inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a493937b9737f1fc4803364c35ceae83e">init_handlers</a> (Task_err &amp;&amp;on_err_func_arg)</td></tr>
<tr class="memdesc:a493937b9737f1fc4803364c35ceae83e inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a493937b9737f1fc4803364c35ceae83e">More...</a><br /></td></tr>
<tr class="separator:a493937b9737f1fc4803364c35ceae83e inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a138956765a655240080491157f316167 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a138956765a655240080491157f316167">mdt_builder</a> ()</td></tr>
<tr class="memdesc:a138956765a655240080491157f316167 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a138956765a655240080491157f316167">More...</a><br /></td></tr>
<tr class="separator:a138956765a655240080491157f316167 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a5ae92b706ea539c27be0d19a303c4 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a45a5ae92b706ea539c27be0d19a303c4">open_channel</a> (<a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> *target_channel, const <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a> &amp;mdt, <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code=0)</td></tr>
<tr class="memdesc:a45a5ae92b706ea539c27be0d19a303c4 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a45a5ae92b706ea539c27be0d19a303c4">More...</a><br /></td></tr>
<tr class="separator:a45a5ae92b706ea539c27be0d19a303c4 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfb10992398b46be3b0e1ac0c8605ef4 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#adfb10992398b46be3b0e1ac0c8605ef4">open_channel</a> (<a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> *target_channel, <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code=0)</td></tr>
<tr class="memdesc:adfb10992398b46be3b0e1ac0c8605ef4 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#adfb10992398b46be3b0e1ac0c8605ef4">More...</a><br /></td></tr>
<tr class="separator:adfb10992398b46be3b0e1ac0c8605ef4 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22e1464a8bc4b806bf3a91e932b31813 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceipc_1_1session.html#ade2b302f1a3623e8adc9694568d94d2c">Session_token</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a22e1464a8bc4b806bf3a91e932b31813">session_token</a> () const</td></tr>
<tr class="memdesc:a22e1464a8bc4b806bf3a91e932b31813 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a22e1464a8bc4b806bf3a91e932b31813">More...</a><br /></td></tr>
<tr class="separator:a22e1464a8bc4b806bf3a91e932b31813 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0992cbc57bf346d6b8df191f2dcb9188 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a80daf8c8041d8d510f4712156732b09d">Base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a0992cbc57bf346d6b8df191f2dcb9188">base</a> () const</td></tr>
<tr class="memdesc:a0992cbc57bf346d6b8df191f2dcb9188 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a0992cbc57bf346d6b8df191f2dcb9188">More...</a><br /></td></tr>
<tr class="separator:a0992cbc57bf346d6b8df191f2dcb9188 inherit pub_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a4d1327608d6067ed6690bd4efa323c6f inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f">srv_namespace</a> () const</td></tr>
<tr class="memdesc:a4d1327608d6067ed6690bd4efa323c6f inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>.  <a href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f">More...</a><br /></td></tr>
<tr class="separator:a4d1327608d6067ed6690bd4efa323c6f inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd1e814b3b640f4bdaa2553352405f26 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd1e814b3b640f4bdaa2553352405f26">cli_namespace</a> () const</td></tr>
<tr class="memdesc:abd1e814b3b640f4bdaa2553352405f26 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>.  <a href="classipc_1_1session_1_1Session__base.html#abd1e814b3b640f4bdaa2553352405f26">More...</a><br /></td></tr>
<tr class="separator:abd1e814b3b640f4bdaa2553352405f26 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ebdafe7e70719e6d12dd0b15ae85106 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3ebdafe7e70719e6d12dd0b15ae85106">cli_app_ptr</a> () const</td></tr>
<tr class="memdesc:a3ebdafe7e70719e6d12dd0b15ae85106 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>.  <a href="classipc_1_1session_1_1Session__base.html#a3ebdafe7e70719e6d12dd0b15ae85106">More...</a><br /></td></tr>
<tr class="separator:a3ebdafe7e70719e6d12dd0b15ae85106 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09cbe99083616bae00928f8e37c8373b inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a09cbe99083616bae00928f8e37c8373b">cur_ns_store_mutex_absolute_name</a> () const</td></tr>
<tr class="memdesc:a09cbe99083616bae00928f8e37c8373b inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the name of the interprocess named-mutex used to control reading/writing to the file storing (written by server, read by client) the value for <a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f" title="See Server_session_impl, Client_session_impl.">srv_namespace()</a>.  <a href="classipc_1_1session_1_1Session__base.html#a09cbe99083616bae00928f8e37c8373b">More...</a><br /></td></tr>
<tr class="separator:a09cbe99083616bae00928f8e37c8373b inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af059faab56cdf384873f9f2aba8f79cf inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">fs::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#af059faab56cdf384873f9f2aba8f79cf">cur_ns_store_absolute_path</a> () const</td></tr>
<tr class="memdesc:af059faab56cdf384873f9f2aba8f79cf inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the absolute path to file storing (written by server, read by client) the value for <a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f" title="See Server_session_impl, Client_session_impl.">srv_namespace()</a>.  <a href="classipc_1_1session_1_1Session__base.html#af059faab56cdf384873f9f2aba8f79cf">More...</a><br /></td></tr>
<tr class="separator:af059faab56cdf384873f9f2aba8f79cf inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d34c5a9c283a6b7c8ab943f344cdd28 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3d34c5a9c283a6b7c8ab943f344cdd28">session_master_socket_stream_acceptor_absolute_name</a> () const</td></tr>
<tr class="memdesc:a3d34c5a9c283a6b7c8ab943f344cdd28 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the absolute name at which the server shall set up a <a class="el" href="classipc_1_1transport_1_1Native__socket__stream__acceptor.html" title="A server object that binds to a Shared_name and listens for incoming Native_socket_stream connect att...">transport::Native_socket_stream_acceptor</a> to which client shall <a class="el" href="classipc_1_1transport_1_1Native__socket__stream.html#a89d591db714e83dcb55a52738fed1ebb" title="To be invoked in NULL state only, it synchronously and non-blockingly attempts to connect to an oppos...">transport::Native_socket_stream::sync_connect()</a> in order to establish a PEER-state session.  <a href="classipc_1_1session_1_1Session__base.html#a3d34c5a9c283a6b7c8ab943f344cdd28">More...</a><br /></td></tr>
<tr class="separator:a3d34c5a9c283a6b7c8ab943f344cdd28 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="related" name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p >(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:ab569367084e0292c7f5284c4dabe3a10"><td class="memTemplParams" colspan="2">template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </td></tr>
<tr class="memitem:ab569367084e0292c7f5284c4dabe3a10"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#ab569367084e0292c7f5284c4dabe3a10">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &amp;val)</td></tr>
<tr class="memdesc:ab569367084e0292c7f5284c4dabe3a10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">Server_session_impl</a></code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#ab569367084e0292c7f5284c4dabe3a10">More...</a><br /></td></tr>
<tr class="separator:ab569367084e0292c7f5284c4dabe3a10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header related_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('related_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Related Functions inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl&lt; session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt; &gt;</a></td></tr>
<tr class="memitem:a9e281c0e15ff899034ca059aa9e0e4f6 inherit related_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9e281c0e15ff899034ca059aa9e0e4f6">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">session::Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt; &gt; &amp;val)</td></tr>
<tr class="memdesc:a9e281c0e15ff899034ca059aa9e0e4f6 inherit related_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code>Session_impl</code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9e281c0e15ff899034ca059aa9e0e4f6">More...</a><br /></td></tr>
<tr class="separator:a9e281c0e15ff899034ca059aa9e0e4f6 inherit related_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header related_classipc_1_1session_1_1Server__session__impl"><td colspan="2" onclick="javascript:toggleInherit('related_classipc_1_1session_1_1Server__session__impl')"><img src="closed.png" alt="-"/>&#160;Related Functions inherited from <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">ipc::session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</a></td></tr>
<tr class="memitem:a88b5e68821f26cfab86feb8b4dc5702a inherit related_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a88b5e68821f26cfab86feb8b4dc5702a">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, S_SHM_TYPE_OR_NONE, S_SHM_MAX_HNDL_SZ, S_GRACEFUL_FINISH_REQUIRED_V &gt; &amp;val)</td></tr>
<tr class="memdesc:a88b5e68821f26cfab86feb8b4dc5702a inherit related_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code>Server_session_impl</code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1Server__session__impl.html#a88b5e68821f26cfab86feb8b4dc5702a">More...</a><br /></td></tr>
<tr class="separator:a88b5e68821f26cfab86feb8b4dc5702a inherit related_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a08b3d69a6707dcbb233076b7a48de285 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a08b3d69a6707dcbb233076b7a48de285">heap_fixed_builder_config</a> (flow::log::Logger *logger_ptr)</td></tr>
<tr class="memdesc:a08b3d69a6707dcbb233076b7a48de285 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html#a107684fdd5d233549c6daac26a81a542" title="Utility that obtains a heap-based (non-zero-copy) Struct_builder::Config, constructed with the most e...">Session_mv::heap_fixed_builder_config()</a> (1-arg).  <a href="classipc_1_1session_1_1Session__base.html#a08b3d69a6707dcbb233076b7a48de285">More...</a><br /></td></tr>
<tr class="separator:a08b3d69a6707dcbb233076b7a48de285 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a489bb6ec7726e39e78dcd4dd2fe3de75 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a489bb6ec7726e39e78dcd4dd2fe3de75">heap_reader_config</a> (flow::log::Logger *logger_ptr)</td></tr>
<tr class="memdesc:a489bb6ec7726e39e78dcd4dd2fe3de75 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html#ab3c69e3f8ccbd70d315bed86d697255d" title="Deserializing counterpart to non-static heap_fixed_builder_config().">Session_mv::heap_reader_config()</a> (1-arg).  <a href="classipc_1_1session_1_1Session__base.html#a489bb6ec7726e39e78dcd4dd2fe3de75">More...</a><br /></td></tr>
<tr class="separator:a489bb6ec7726e39e78dcd4dd2fe3de75 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:afd32d90b86d699263a0f02637dd7c6c6 inherit pub_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#afd32d90b86d699263a0f02637dd7c6c6">m_srv_app_ref</a></td></tr>
<tr class="memdesc:afd32d90b86d699263a0f02637dd7c6c6 inherit pub_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to <a class="el" href="structipc_1_1session_1_1Server__app.html" title="An App that is used as a server in at least one client-server IPC split.">Server_app</a> (referring to local process in <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, opposing process in <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>).  <a href="classipc_1_1session_1_1Session__base.html#afd32d90b86d699263a0f02637dd7c6c6">More...</a><br /></td></tr>
<tr class="separator:afd32d90b86d699263a0f02637dd7c6c6 inherit pub_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classipc_1_1session_1_1Server__session__impl')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">ipc::session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</a></td></tr>
<tr class="memitem:a582c808f7ea2104468e56bc135172296 inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr schema::ShmType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a582c808f7ea2104468e56bc135172296">S_SHM_TYPE</a></td></tr>
<tr class="memdesc:a582c808f7ea2104468e56bc135172296 inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a582c808f7ea2104468e56bc135172296">More...</a><br /></td></tr>
<tr class="separator:a582c808f7ea2104468e56bc135172296 inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ded7990451b90f29e11f8fa7ce0e80b inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a1ded7990451b90f29e11f8fa7ce0e80b">S_SHM_ENABLED</a></td></tr>
<tr class="memdesc:a1ded7990451b90f29e11f8fa7ce0e80b inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a1ded7990451b90f29e11f8fa7ce0e80b">More...</a><br /></td></tr>
<tr class="separator:a1ded7990451b90f29e11f8fa7ce0e80b inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a005fcbc9ee215531c03d17fcc49ef544 inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a005fcbc9ee215531c03d17fcc49ef544">S_MQS_ENABLED</a></td></tr>
<tr class="memdesc:a005fcbc9ee215531c03d17fcc49ef544 inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#a005fcbc9ee215531c03d17fcc49ef544">More...</a><br /></td></tr>
<tr class="separator:a005fcbc9ee215531c03d17fcc49ef544 inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfa7d61030e1d40cdc0085afacb43b6c inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#abfa7d61030e1d40cdc0085afacb43b6c">S_SOCKET_STREAM_ENABLED</a></td></tr>
<tr class="memdesc:abfa7d61030e1d40cdc0085afacb43b6c inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Server_session_mv counterpart.  <a href="classipc_1_1session_1_1Server__session__impl.html#abfa7d61030e1d40cdc0085afacb43b6c">More...</a><br /></td></tr>
<tr class="separator:abfa7d61030e1d40cdc0085afacb43b6c inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dc599111ce0b4b6d8cd003559e6c01c inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a0dc599111ce0b4b6d8cd003559e6c01c">S_GRACEFUL_FINISH_REQUIRED</a></td></tr>
<tr class="memdesc:a0dc599111ce0b4b6d8cd003559e6c01c inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for template parameter knob <code>S_GRACEFUL_FINISH_REQUIRED_V</code>: see class template doc header.  <a href="classipc_1_1session_1_1Server__session__impl.html#a0dc599111ce0b4b6d8cd003559e6c01c">More...</a><br /></td></tr>
<tr class="separator:a0dc599111ce0b4b6d8cd003559e6c01c inherit pub_static_attribs_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a27a5731a648effb6b4b42f0312affa74 inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a> = S_MQ_TYPE_OR_NONE != schema::MqType::NONE</td></tr>
<tr class="memdesc:a27a5731a648effb6b4b42f0312affa74 inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a>.  <a href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">More...</a><br /></td></tr>
<tr class="separator:a27a5731a648effb6b4b42f0312affa74 inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f7c4243c8bd55930f51a568884c8aaf inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a1f7c4243c8bd55930f51a568884c8aaf">S_SOCKET_STREAM_ENABLED</a> = (!<a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a>) || S_TRANSMIT_NATIVE_HANDLES</td></tr>
<tr class="memdesc:a1f7c4243c8bd55930f51a568884c8aaf inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a>.  <a href="classipc_1_1session_1_1Session__base.html#a1f7c4243c8bd55930f51a568884c8aaf">More...</a><br /></td></tr>
<tr class="separator:a1f7c4243c8bd55930f51a568884c8aaf inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl&lt; session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt; &gt;</a></td></tr>
<tr class="memitem:adfab6a0e4397664c48097f7d6218de1c inherit pro_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a> = boost::movelib::unique_ptr&lt; <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> &gt;</td></tr>
<tr class="memdesc:adfab6a0e4397664c48097f7d6218de1c inherit pro_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for, basically, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> that may not have been opened yet (and is therefore null).  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">More...</a><br /></td></tr>
<tr class="separator:adfab6a0e4397664c48097f7d6218de1c inherit pro_types_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classipc_1_1session_1_1Server__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classipc_1_1session_1_1Server__session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">ipc::session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</a></td></tr>
<tr class="memitem:a3bc90eb872c3f4d4ff65039a4a36b166 inherit pro_types_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a3bc90eb872c3f4d4ff65039a4a36b166">Master_structured_channel</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Base::Master_structured_channel</a></td></tr>
<tr class="memdesc:a3bc90eb872c3f4d4ff65039a4a36b166 inherit pro_types_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_base.  <a href="classipc_1_1session_1_1Server__session__impl.html#a3bc90eb872c3f4d4ff65039a4a36b166">More...</a><br /></td></tr>
<tr class="separator:a3bc90eb872c3f4d4ff65039a4a36b166 inherit pro_types_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a26d038e14e3c0e461e76de88c4ce76c5 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> = <a class="el" href="namespaceipc_1_1transport_1_1struc.html#aca041b0efd4a9ae18e10088b2ee3c052">transport::struc::Channel_via_heap</a>&lt; <a class="el" href="classipc_1_1transport_1_1Socket__stream__channel.html">transport::Socket_stream_channel</a>&lt; true &gt;, schema::detail::SessionMasterChannelMessageBody&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> &gt; &gt;</td></tr>
<tr class="memdesc:a26d038e14e3c0e461e76de88c4ce76c5 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The (internally used) session master channel is a <a class="el" href="classipc_1_1transport_1_1struc_1_1Channel.html" title="Owning and wrapping a pre-connected transport::Channel peer (an endpoint of an established channel ov...">transport::struc::Channel</a> of this concrete type.  <a href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">More...</a><br /></td></tr>
<tr class="separator:a26d038e14e3c0e461e76de88c4ce76c5 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0ca2a01d7d0d92038aae56fc1cdd505 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#af0ca2a01d7d0d92038aae56fc1cdd505">Master_structured_channel_ptr</a> = boost::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> &gt;</td></tr>
<tr class="memdesc:af0ca2a01d7d0d92038aae56fc1cdd505 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5" title="The (internally used) session master channel is a transport::struc::Channel of this concrete type.">Master_structured_channel</a>.  <a href="classipc_1_1session_1_1Session__base.html#af0ca2a01d7d0d92038aae56fc1cdd505">More...</a><br /></td></tr>
<tr class="separator:af0ca2a01d7d0d92038aae56fc1cdd505 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2a123b29dd044a638e94d1f294c8f28 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ae2a123b29dd044a638e94d1f294c8f28">Master_structured_channel_observer</a> = boost::weak_ptr&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> &gt;</td></tr>
<tr class="memdesc:ae2a123b29dd044a638e94d1f294c8f28 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Observer of <a class="el" href="classipc_1_1session_1_1Session__base.html#af0ca2a01d7d0d92038aae56fc1cdd505" title="Handle to Master_structured_channel.">Master_structured_channel_ptr</a>. See its doc header.  <a href="classipc_1_1session_1_1Session__base.html#ae2a123b29dd044a638e94d1f294c8f28">More...</a><br /></td></tr>
<tr class="separator:ae2a123b29dd044a638e94d1f294c8f28 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c0824a54ef32915c5c5ea76481f2409 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> = <a class="el" href="namespaceipc.html#aa455c7f045059736578ca275fc1a851f">Function</a>&lt; void(<a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> &amp;&amp;new_channel, <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> &amp;&amp;new_channel_mdt)&gt;</td></tr>
<tr class="memdesc:a3c0824a54ef32915c5c5ea76481f2409 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concrete function type for the on-passive-open handler (if any), used for storage.  <a href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">More...</a><br /></td></tr>
<tr class="separator:a3c0824a54ef32915c5c5ea76481f2409 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl&lt; session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt; &gt;</a></td></tr>
<tr class="memitem:ad7b01ef2b4a8c14b9960b8be8891375b inherit pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b">init_shm_arenas</a> (<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a> &amp;&amp;session_shm_not_null, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *app_shm_not_null)</td></tr>
<tr class="memdesc:ad7b01ef2b4a8c14b9960b8be8891375b inherit pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be invoked at most once, sets the values returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> to non-null values replacing null values.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b">More...</a><br /></td></tr>
<tr class="separator:ad7b01ef2b4a8c14b9960b8be8891375b inherit pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01fd0a9f521e299b450cc844490c86a9 inherit pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a01fd0a9f521e299b450cc844490c86a9">reset_shm_arenas</a> ()</td></tr>
<tr class="memdesc:a01fd0a9f521e299b450cc844490c86a9 inherit pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undoes <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b" title="To be invoked at most once, sets the values returned by session_shm() and app_shm() to non-null value...">init_shm_arenas()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a01fd0a9f521e299b450cc844490c86a9">More...</a><br /></td></tr>
<tr class="separator:a01fd0a9f521e299b450cc844490c86a9 inherit pro_methods_classipc_1_1session_1_1shm_1_1classic_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classipc_1_1session_1_1Server__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classipc_1_1session_1_1Server__session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Server__session__impl.html">ipc::session::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ &gt;</a></td></tr>
<tr class="memitem:a2276a6fd556861a9e0856360fde58158 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a2276a6fd556861a9e0856360fde58158">sub_class_set_deinit_func</a> (Task &amp;&amp;task)</td></tr>
<tr class="memdesc:a2276a6fd556861a9e0856360fde58158 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: ensures that <code>task()</code> is invoked near the end of <code>*this</code> dtor's execution, from thread U, after thread W is joined, and any <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#aee35d521d9997d48f6b5565730e60e93" title="For use by internal user Session_server: See Server_session_mv counterpart.">async_accept_log_in()</a> on-done handler has fired with operation-aborted code.  <a href="classipc_1_1session_1_1Server__session__impl.html#a2276a6fd556861a9e0856360fde58158">More...</a><br /></td></tr>
<tr class="separator:a2276a6fd556861a9e0856360fde58158 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a149a11c639d26b8a21279724079f6c2a inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">flow::async::Single_thread_task_loop *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a149a11c639d26b8a21279724079f6c2a">async_worker</a> ()</td></tr>
<tr class="memdesc:a149a11c639d26b8a21279724079f6c2a inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: provides ability to schedule or post tasks onto thread W.  <a href="classipc_1_1session_1_1Server__session__impl.html#a149a11c639d26b8a21279724079f6c2a">More...</a><br /></td></tr>
<tr class="separator:a149a11c639d26b8a21279724079f6c2a inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d68714c197ba58b4cb485262fb9d51 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a14d68714c197ba58b4cb485262fb9d51">master_channel</a> ()</td></tr>
<tr class="memdesc:a14d68714c197ba58b4cb485262fb9d51 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: provides ability to do work on the session master channel after our <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#aee35d521d9997d48f6b5565730e60e93" title="For use by internal user Session_server: See Server_session_mv counterpart.">async_accept_log_in()</a> succeeds, but before the sub-classed wrapper of its on-done handler succeeds.  <a href="classipc_1_1session_1_1Server__session__impl.html#a14d68714c197ba58b4cb485262fb9d51">More...</a><br /></td></tr>
<tr class="separator:a14d68714c197ba58b4cb485262fb9d51 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa570a2ceb242370eeccca85d806fbbf inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#aaa570a2ceb242370eeccca85d806fbbf">master_channel_const</a> () const</td></tr>
<tr class="memdesc:aaa570a2ceb242370eeccca85d806fbbf inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analogous to Client_session_impl::master_channel_const().  <a href="classipc_1_1session_1_1Server__session__impl.html#aaa570a2ceb242370eeccca85d806fbbf">More...</a><br /></td></tr>
<tr class="separator:aaa570a2ceb242370eeccca85d806fbbf inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28503a7c6622aacc7e08d4904da10da3 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a28503a7c6622aacc7e08d4904da10da3">dtor_async_worker_stop</a> ()</td></tr>
<tr class="memdesc:a28503a7c6622aacc7e08d4904da10da3 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analogous to Client_session_impl::dtor_async_worker_stop(). See that doc header.  <a href="classipc_1_1session_1_1Server__session__impl.html#a28503a7c6622aacc7e08d4904da10da3">More...</a><br /></td></tr>
<tr class="separator:a28503a7c6622aacc7e08d4904da10da3 inherit pro_methods_classipc_1_1session_1_1Server__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:aab2db8b2cdb3d8189c1cc497aed7b2b1 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#aab2db8b2cdb3d8189c1cc497aed7b2b1">Session_base</a> (const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;cli_app_ref, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, flow::async::Task_asio_err &amp;&amp;on_err_func, <a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> &amp;&amp;on_passive_open_channel_func_or_empty_arg)</td></tr>
<tr class="memdesc:aab2db8b2cdb3d8189c1cc497aed7b2b1 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs: <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a> form (the user is the one constructing the object, though in NULL state).  <a href="classipc_1_1session_1_1Session__base.html#aab2db8b2cdb3d8189c1cc497aed7b2b1">More...</a><br /></td></tr>
<tr class="separator:aab2db8b2cdb3d8189c1cc497aed7b2b1 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d323ca75006777b3fc929bd0720f7df inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a8d323ca75006777b3fc929bd0720f7df">Session_base</a> (const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref)</td></tr>
<tr class="memdesc:a8d323ca75006777b3fc929bd0720f7df inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs: <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a> form (<a class="el" href="classipc_1_1session_1_1Session__server.html" title="To be instantiated typically once in a given process, an object of this type asynchronously listens f...">Session_server</a> is the one constructing the object, though in NULL state, before log-in has completed, but after the socket-stream connection has been established).  <a href="classipc_1_1session_1_1Session__base.html#a8d323ca75006777b3fc929bd0720f7df">More...</a><br /></td></tr>
<tr class="separator:a8d323ca75006777b3fc929bd0720f7df inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28825fcdeaf1249a7bf810a3b2ca7c38 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a28825fcdeaf1249a7bf810a3b2ca7c38">set_srv_namespace</a> (<a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&amp;srv_namespace_new)</td></tr>
<tr class="memdesc:a28825fcdeaf1249a7bf810a3b2ca7c38 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f" title="See Server_session_impl, Client_session_impl.">srv_namespace()</a> (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#a28825fcdeaf1249a7bf810a3b2ca7c38">More...</a><br /></td></tr>
<tr class="separator:a28825fcdeaf1249a7bf810a3b2ca7c38 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cc7a4faa098e0f71c737f44c34d593c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a8cc7a4faa098e0f71c737f44c34d593c">set_cli_namespace</a> (<a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&amp;cli_namespace_new)</td></tr>
<tr class="memdesc:a8cc7a4faa098e0f71c737f44c34d593c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#abd1e814b3b640f4bdaa2553352405f26" title="See Server_session_impl, Client_session_impl.">cli_namespace()</a> (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#a8cc7a4faa098e0f71c737f44c34d593c">More...</a><br /></td></tr>
<tr class="separator:a8cc7a4faa098e0f71c737f44c34d593c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60a081ce0f85651202d23b4d543d093c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a60a081ce0f85651202d23b4d543d093c">set_cli_app_ptr</a> (const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> *cli_app_ptr_new)</td></tr>
<tr class="memdesc:a60a081ce0f85651202d23b4d543d093c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#a3ebdafe7e70719e6d12dd0b15ae85106" title="See Server_session_impl, Client_session_impl.">cli_app_ptr()</a> (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#a60a081ce0f85651202d23b4d543d093c">More...</a><br /></td></tr>
<tr class="separator:a60a081ce0f85651202d23b4d543d093c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3be1a385c905404621b58c23332b0b96 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3be1a385c905404621b58c23332b0b96">set_on_passive_open_channel_func</a> (<a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> &amp;&amp;on_passive_open_channel_func)</td></tr>
<tr class="memdesc:a3be1a385c905404621b58c23332b0b96 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#a21b146b02d257d95f4aaeaca12b8d320" title="The on-passive-open handler (may be empty even in final state, meaning user wants passive-opens disab...">on_passive_open_channel_func_or_empty()</a> (do not call if already set; do not call if user intends for passive-opens to be disabled on this side).  <a href="classipc_1_1session_1_1Session__base.html#a3be1a385c905404621b58c23332b0b96">More...</a><br /></td></tr>
<tr class="separator:a3be1a385c905404621b58c23332b0b96 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae769a82bdec0d16702111ad06716faae inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ae769a82bdec0d16702111ad06716faae">set_on_err_func</a> (flow::async::Task_asio_err &amp;&amp;on_err_func_arg)</td></tr>
<tr class="memdesc:ae769a82bdec0d16702111ad06716faae inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets on_err_func() (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#ae769a82bdec0d16702111ad06716faae">More...</a><br /></td></tr>
<tr class="separator:ae769a82bdec0d16702111ad06716faae inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca82817beaac36d0006c44012f9fef03 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#aca82817beaac36d0006c44012f9fef03">on_err_func_set</a> () const</td></tr>
<tr class="memdesc:aca82817beaac36d0006c44012f9fef03 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if and only if <a class="el" href="classipc_1_1session_1_1Session__base.html#ae769a82bdec0d16702111ad06716faae" title="Sets on_err_func() (do not call if already set).">set_on_err_func()</a> has been called.  <a href="classipc_1_1session_1_1Session__base.html#aca82817beaac36d0006c44012f9fef03">More...</a><br /></td></tr>
<tr class="separator:aca82817beaac36d0006c44012f9fef03 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b146b02d257d95f4aaeaca12b8d320 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a21b146b02d257d95f4aaeaca12b8d320">on_passive_open_channel_func_or_empty</a> () const</td></tr>
<tr class="memdesc:a21b146b02d257d95f4aaeaca12b8d320 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The on-passive-open handler (may be empty even in final state, meaning user wants passive-opens disabled on this side).  <a href="classipc_1_1session_1_1Session__base.html#a21b146b02d257d95f4aaeaca12b8d320">More...</a><br /></td></tr>
<tr class="separator:a21b146b02d257d95f4aaeaca12b8d320 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f9e67dccbab4f3191734c2834bafb63 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a7f9e67dccbab4f3191734c2834bafb63">hose</a> (const <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> &amp;err_code)</td></tr>
<tr class="memdesc:a7f9e67dccbab4f3191734c2834bafb63 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks this session as hosed for (truthy) reason <code>err_code</code>; and <em>synchronously</em> invokes on-error handler; only invoke if not already <a class="el" href="classipc_1_1session_1_1Session__base.html#a398f3e6a30b3fae8e110af9fd1ff75e3" title="Returns true if and only if hose() has been called.">hosed()</a>.  <a href="classipc_1_1session_1_1Session__base.html#a7f9e67dccbab4f3191734c2834bafb63">More...</a><br /></td></tr>
<tr class="separator:a7f9e67dccbab4f3191734c2834bafb63 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a398f3e6a30b3fae8e110af9fd1ff75e3 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a398f3e6a30b3fae8e110af9fd1ff75e3">hosed</a> () const</td></tr>
<tr class="memdesc:a398f3e6a30b3fae8e110af9fd1ff75e3 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if and only if <a class="el" href="classipc_1_1session_1_1Session__base.html#a7f9e67dccbab4f3191734c2834bafb63" title="Marks this session as hosed for (truthy) reason err_code; and synchronously invokes on-error handler;...">hose()</a> has been called.  <a href="classipc_1_1session_1_1Session__base.html#a398f3e6a30b3fae8e110af9fd1ff75e3">More...</a><br /></td></tr>
<tr class="separator:a398f3e6a30b3fae8e110af9fd1ff75e3 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:ae68b7b80ff82ba5cde28a53fa52a5095 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="namespaceipc_1_1util.html#ac66141280c3b7295a86b65209f31cc58">util::Fine_duration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ae68b7b80ff82ba5cde28a53fa52a5095">S_OPEN_CHANNEL_TIMEOUT</a> = boost::chrono::seconds(60)</td></tr>
<tr class="memdesc:ae68b7b80ff82ba5cde28a53fa52a5095 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal timeout for <code>open_channel()</code>.  <a href="classipc_1_1session_1_1Session__base.html#ae68b7b80ff82ba5cde28a53fa52a5095">More...</a><br /></td></tr>
<tr class="separator:ae68b7b80ff82ba5cde28a53fa52a5095 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b52934c6b1204cb3ba676480727d27 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#af0b52934c6b1204cb3ba676480727d27">S_MQS_MAX_MSG_SZ</a> = 8 * 1024</td></tr>
<tr class="memdesc:af0b52934c6b1204cb3ba676480727d27 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The max sendable MQ message size as decided by <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a84d54a57d3e06c064cde737d1f4be472" title="Helper for create_channel_and_resources(), invoked and compiled if and only if S_MQS_ENABLED,...">Server_session_impl::make_channel_mqs()</a> (and imposed on both sides, both directions), if <a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74" title="See Session_mv.">S_MQS_ENABLED</a> <em>and</em> <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a1ded7990451b90f29e11f8fa7ce0e80b" title="See Session_mv counterpart.">Server_session_impl::S_SHM_ENABLED</a> is <code>false</code>, when a channel is opened (regardless of which side did the active-open or requested pre-opening at session start).  <a href="classipc_1_1session_1_1Session__base.html#af0b52934c6b1204cb3ba676480727d27">More...</a><br /></td></tr>
<tr class="separator:af0b52934c6b1204cb3ba676480727d27 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload&gt;<br />
class ipc::session::shm::classic::Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</div><p >Core internally-used implementation of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session.html" title="Identical to session::Server_session in every way, except that it makes available two SHM arenas,...">shm::classic::Server_session</a>: it is to the latter what its <code>public</code> super-class <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">Server_session_impl</a> is to <a class="el" href="namespaceipc_1_1session.html#ab01d5bce0ab2f3435ca9dd88d27609dc" title="A vanilla Server_session with no optional capabilities.">Server_session</a>. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session.html" title="Identical to session::Server_session in every way, except that it makes available two SHM arenas,...">shm::classic::Server_session</a> doc header which covers both its public behavior/API and a detailed sketch of the entire implementation.</dd></dl>
<h3>Impl notes</h3>
<p >The use of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>, and various public APIs around them, is totally symmetrical with <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Client__session__impl.html" title="Core internally-used implementation of shm::classic::Client_session: it is to the latter what its pub...">shm::classic::Client_session_impl</a>; so that all is in super-class <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html" title="Common data and logic for shm::classic::Server_session_impl and shm::classic::Client_session_impl.">Session_impl</a>. We do what's asymmetrical: assigning <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> values; and provide the server-specific APIs (notably <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a9c78b2c35b853e1702a06ec451545945" title="For use by internal user Session_server: See Server_session_mv counterpart.">async_accept_log_in()</a>).</p>
<p >To implement <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> assignment we share a member map (from <a class="el" href="structipc_1_1session_1_1Client__app.html" title="An App that is used as a client in at least one client-server IPC split.">Client_app</a> to <code>Arena</code>) in the "parent" (emitting) <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__server.html" title="This is to vanilla Session_server what shm::classic::Server_session is to vanilla Server_session: it ...">shm::classic::Session_server</a> &ndash; after all it did have to create such a handle, in create-only mode, possibly even during <code>pre_rsp_setup_func()</code> (if the opposing <a class="el" href="structipc_1_1session_1_1Client__app.html" title="An App that is used as a client in at least one client-server IPC split.">Client_app</a> is encountered the first time by that server). So we just access it through <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__server.html#ae3e011716068f4e669bd7eed487cf207" title="Returns pointer to the per-app SHM-arena, whose lifetime extends until *this is destroyed; or null if...">shm::classic::Session_server::app_shm()</a>, passing-in the relevant <a class="el" href="structipc_1_1session_1_1Client__app.html" title="An App that is used as a client in at least one client-server IPC split.">Client_app</a>; and save that pointer to be returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>.</p>
<p >(Why jump through such hoops? Couldn't we simply <code>OPEN_OR_CREATE</code> it ourselves; after all the OS would then essentially implement the map for us in the kernel, and we needn't all the boiler-plate? Answer: That's fantastic and superior; except the <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html" title="A SHM-classic interface around a single SHM pool with allocation-algorithm services by boost....">shm::classic::Pool_arena</a> thus created could not live past <code>*this</code>; which would break the contract of shm::classic::Session::app_shm() as listed in its doc header.)</p>
<p ><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>, however, is simple. We just <code>CREATE_ONLY</code> it, as its lifetime by definition equals the session's (<code>*this</code>).</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">S_MQ_TYPE_OR_NONE</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session.html" title="Identical to session::Server_session in every way, except that it makes available two SHM arenas,...">shm::classic::Server_session</a> counterpart. </td></tr>
    <tr><td class="paramname">S_TRANSMIT_NATIVE_HANDLES</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session.html" title="Identical to session::Server_session in every way, except that it makes available two SHM arenas,...">shm::classic::Server_session</a> counterpart. </td></tr>
    <tr><td class="paramname">Mdt_payload</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session.html" title="Identical to session::Server_session in every way, except that it makes available two SHM arenas,...">shm::classic::Server_session</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html#l00067">67</a> of file <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html">server_session_impl.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a7eb8811c0dfc0f25f2b5cb5acd0ff90d" name="a7eb8811c0dfc0f25f2b5cb5acd0ff90d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb8811c0dfc0f25f2b5cb5acd0ff90d">&#9670;&nbsp;</a></span>Base</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">ipc::session::shm::classic::Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::Base =  <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a> &lt;<a class="el" href="classipc_1_1session_1_1Server__session__impl.html">session::Server_session_impl</a>&lt;S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, schema::ShmType::CLASSIC, <a class="el" href="classipc_1_1transport_1_1struc_1_1shm_1_1Builder__base.html#a2dae5df49d355c6f2199af42fff9befd">transport::struc::shm::Builder_base::S_MAX_SERIALIZATION_SEGMENT_SZ</a>&gt; &gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Short-hand for our non-<code>virtual</code> base. </p>

<p class="definition">Definition at line <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html#l00077">77</a> of file <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html">server_session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3c210b4b0acb3edebfa3fd735f02a854" name="a3c210b4b0acb3edebfa3fd735f02a854"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c210b4b0acb3edebfa3fd735f02a854">&#9670;&nbsp;</a></span>~Server_session_impl()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">ipc::session::shm::classic::Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::~<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">Server_session_impl</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept counterpart; but read on for notes on per-session SHM-pool cleanup. </p>
<p >In particular this dtor shall perform (if <code>*this</code> is opened OK) <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html#a9487dcff44fde9a2c12d64b51c16c85e" title="Removes the named SHM pool object.">shm::classic::Pool_arena::remove_persistent()</a> on the pool returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">Session_impl::session_shm()</a> (the per-session pool). Reminder: like all kernel-persistent <code>remove_persistent()</code> methods this will not necessarily free the RAM held on behalf of the pool; any currently opened <code>Pool_arena</code>s &ndash; presumably one still (possibly) held by the counterpart <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Client__session__impl.html" title="Core internally-used implementation of shm::classic::Client_session: it is to the latter what its pub...">shm::classic::Client_session_impl</a> &ndash; will continue to function fine.</p>
<h3>Rationale for aforementioned <code>remove_persistent()</code> op</h3>
<p >Why do it? Answer: Naturally this should be freed sometime; otherwise the RAM will leak, even though the session pertaining to the per-session pool is gone.</p>
<p >Why not do it earlier? Answer: It would be nice to do it super-early... like, say, just after creating the pool during the async portion of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a9c78b2c35b853e1702a06ec451545945" title="For use by internal user Session_server: See Server_session_mv counterpart.">async_accept_log_in()</a>. The only reason <em>not</em> to do it is if the client handle (<code>Pool_arena</code>) to the pool has not yet had a chance to get opened by the name deleted via <code>remove_persistent()</code>. The opening occurs in the counterpart <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Client__session__impl.html" title="Core internally-used implementation of shm::classic::Client_session: it is to the latter what its pub...">shm::classic::Client_session_impl</a> during the log-in procedure, initiated on this side by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a9c78b2c35b853e1702a06ec451545945" title="For use by internal user Session_server: See Server_session_mv counterpart.">async_accept_log_in()</a>. However, as of this writing, the async portion of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html#a9c78b2c35b853e1702a06ec451545945" title="For use by internal user Session_server: See Server_session_mv counterpart.">async_accept_log_in()</a> (at least when there are no init-channels) completes just after creating the SHM-pool &ndash; upon sending the log-in response message; it does not wait for any ack from the client. While in practice the client side will indeed open the pool quite soon after we send the log-in response, we don't know exactly when that is. Hence we postpone it until this dtor, at which point the session is definitely done-for. (We could do it earlier, perhaps by adding the ack from client, but this way is solid if less zealous.)</p>
<p >Why not do it later? Answer: <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> is done-for, if we are being invoked; the counterpart <code>Client_session</code> could not possibly hope to open the pool now, even if it somehow wanted to do so. So why wait?</p>
<h3>What if this dtor never runs?</h3>
<p >In any program that exits without aborting abruptly, it <em>will</em> run. Furthermore the proper behavior (see <a class="el" href="classipc_1_1session_1_1Session.html#a8cb20f446c2a4327a3a8143af137dbca" title="In NULL state, no-op; in PEER state: Ends the session while informing (if possible) the opposing peer...">Session::~Session()</a> doc header) is to either invoke the <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> dtor proactively (graceful exit triggered locally) or in response to an error (triggered by client counterpart ending session and our detecting this). If the user follows this recommended behavior, then this dtor will run just as soon as it should. If not, then it will at least run when the program is exiting gracefully.</p>
<p >It however may not run due to abrupt termination (a crash). In that case the <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a></code> pool will indeed leak, in that this dtor won't execute, so the <code>remove_persistent()</code> will not occur in that fashion. The <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__server.html" title="This is to vanilla Session_server what shm::classic::Server_session is to vanilla Server_session: it ...">shm::classic::Session_server</a> has a contingency for this, which we don't describe here, wherein it has <em>cleanup points</em> at which it cleans up anything thus leaked during previous invocations of the same <a class="el" href="structipc_1_1session_1_1Server__app.html" title="An App that is used as a server in at least one client-server IPC split.">Server_app</a>.</p>
<h3>What about the per-app pool?</h3>
<p >The above talks only of the <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">Session_impl::session_shm()</a> pool; what about <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">Session_impl::app_shm()</a>? Shouldn't we clean it up here? Answer: No. By definition that pool is cross-session; more sessions may be opened within for the same <a class="el" href="structipc_1_1session_1_1Server__app.html" title="An App that is used as a server in at least one client-server IPC split.">Server_app</a> and will expect the pool to persist. Hence any graceful cleanup is under the purview of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__server.html" title="This is to vanilla Session_server what shm::classic::Server_session is to vanilla Server_session: it ...">Session_server</a> dtor (in loosely similar fashion to the present dtor). </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a9c78b2c35b853e1702a06ec451545945" name="a9c78b2c35b853e1702a06ec451545945"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c78b2c35b853e1702a06ec451545945">&#9670;&nbsp;</a></span>async_accept_log_in()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<div class="memtemplate">
template&lt;typename Session_server_impl_t , typename Task_err , typename Cli_app_lookup_func , typename Cli_namespace_func , typename Pre_rsp_setup_func , typename N_init_channels_by_srv_req_func , typename Mdt_load_func &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">ipc::session::shm::classic::Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::async_accept_log_in </td>
          <td>(</td>
          <td class="paramtype">Session_server_impl_t *&#160;</td>
          <td class="paramname"><em>srv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Channels</a> *&#160;</td>
          <td class="paramname"><em>init_channels_by_srv_req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Base::Mdt_reader_ptr</a> *&#160;</td>
          <td class="paramname"><em>mdt_from_cli_or_null</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Channels</a> *&#160;</td>
          <td class="paramname"><em>init_channels_by_cli_req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Cli_app_lookup_func &amp;&amp;&#160;</td>
          <td class="paramname"><em>cli_app_lookup_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Cli_namespace_func &amp;&amp;&#160;</td>
          <td class="paramname"><em>cli_namespace_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Pre_rsp_setup_func &amp;&amp;&#160;</td>
          <td class="paramname"><em>pre_rsp_setup_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">N_init_channels_by_srv_req_func &amp;&amp;&#160;</td>
          <td class="paramname"><em>n_init_channels_by_srv_req_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Mdt_load_func &amp;&amp;&#160;</td>
          <td class="paramname"><em>mdt_load_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Task_err &amp;&amp;&#160;</td>
          <td class="paramname"><em>on_done_func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>For use by internal user <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__server.html" title="This is to vanilla Session_server what shm::classic::Server_session is to vanilla Server_session: it ...">Session_server</a>: See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </p>
<p >While the formal contract here is unchanged from vanilla <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">Server_session_impl</a>, internally: this one, before <code>on_done_func()</code> can be invoked successfully &ndash; and moreover before the opposing <a class="el" href="namespaceipc_1_1session_1_1shm_1_1classic.html#ac6c443a72e0f22710c83bb1e8c229618" title="This is to session::Client_session what shm::classic::Server_session is to session::Server_session.">shm::classic::Client_session</a> is informed the session may proceed &ndash; also creates a per-session-scope SHM arena which is accessible in PEER state via <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>. The opposing session peer hence also makes it available via <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html#a9ff21b10fd753fccfa4882834e677ccf" title="Returns SHM Arena with per-session-scope, meaning it shall be accessible only during the lifetime of ...">shm::classic::Client_session::session_shm()</a></code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">srv</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">init_channels_by_srv_req</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">mdt_from_cli_or_null</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">init_channels_by_cli_req</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">cli_app_lookup_func</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">cli_namespace_func</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">pre_rsp_setup_func</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">n_init_channels_by_srv_req_func</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">mdt_load_func</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">on_done_func</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__mv.html">Server_session_mv</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html#l00206">206</a> of file <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html">server_session_impl.hpp</a>.</p>

<p class="reference">References <a class="el" href="ipc__session_2src_2ipc_2session_2detail_2session__shared__name_8cpp_source.html#l00044">ipc::session::build_conventional_shared_name()</a>, <a class="el" href="ipc__core_2src_2ipc_2util_2util_8cpp_source.html#l00032">ipc::util::CREATE_ONLY</a>, <a class="el" href="shared__name_8hpp_source.html#l00674">ipc::util::Shared_name::ct()</a>, <a class="el" href="shared__name_8hpp_source.html#l00309">ipc::util::Shared_name::S_1ST_OR_ONLY</a>, <a class="el" href="namespaceipc_1_1session_1_1error.html#a0708d4bec9ae853f4d7e3d7822fc8f2fafe29343445a7bf167cc186a44bd2c6ed">ipc::session::error::S_OBJECT_SHUTDOWN_ABORTED_COMPLETION_HANDLER</a>, <a class="el" href="shared__name_8hpp_source.html#l00312">ipc::util::Shared_name::S_RESOURCE_TYPE_ID_SHM</a>, <a class="el" href="ipc__core_2src_2ipc_2util_2util_8cpp_source.html#l00037">ipc::util::shared_resource_permissions()</a>, and <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2session__shared__name_8cpp_source.html#l00027">ipc::session::shm::classic::SHM_SUBTYPE_PREFIX</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl_a9c78b2c35b853e1702a06ec451545945_cgraph.svg" width="790" height="194"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="ab569367084e0292c7f5284c4dabe3a10" name="ab569367084e0292c7f5284c4dabe3a10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab569367084e0292c7f5284c4dabe3a10">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html">Server_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">Server_session_impl</a></code> to the given <code>ostream</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Stream to which to write. </td></tr>
    <tr><td class="paramname">val</td><td>Object to serialize. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>os</code>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html#l00369">369</a> of file <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html">server_session_impl.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>session/detail/shm/classic/<a class="el" href="session_2detail_2shm_2classic_2classic__fwd_8hpp_source.html">classic_fwd.hpp</a></li>
<li>session/detail/shm/classic/<a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2server__session__impl_8hpp_source.html">server_session_impl.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 11 2025 20:02:26 for Flow-IPC by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>
